<!DOCTYPE html>
<html lang="en" {{ if eq .Filename "index.html" }} class="smooth-scroll" {{ end }}>
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta
      name="description"
      content="Please is a cross-language build system with an emphasis on high performance, portability, extensibility and correctness."
    />
    <meta property="og:title" content="{{ .Title }}" />
    <meta
      property="og:description"
      content="Please is a cross-language build system with an emphasis on high performance, portability, extensibility and correctness."
    />
    <meta property="og:image" content="https://please.build/images/please_og.png" />

    <title>{{ .Title }}</title>

    <link
      rel="apple-touch-icon"
      sizes="180x180"
      href="/favicon/apple-touch-icon.png"
    />
    <link
      rel="icon"
      type="image/png"
      sizes="32x32"
      href="/favicon/favicon-32x32.png"
    />
    <link
      rel="icon"
      type="image/png"
      sizes="16x16"
      href="/favicon/favicon-16x16.png"
    />
    <link rel="manifest" href="/favicon/site.webmanifest" />
    <link
      rel="mask-icon"
      href="/favicon/safari-pinned-tab.svg"
      color="#5bbad5"
    />
    <meta name="msapplication-TileColor" content="#da532c" />
    <meta name="theme-color" content="#ffffff" />

    <link rel="stylesheet" href="/tachyons-4.12.0.min.css" />
    {{ if eq .Filename "faq.html" }}
    <link rel="stylesheet" href="/asciinema-player.css" />
    <script src="/asciinema-player.js"></script>
    {{ end }}

    <link rel="preload" href="/fonts.css" as="style" />
    <link rel="stylesheet" href="/styles.css" />
    <script src="/action.js"></script>
    <script src="/tabs.js"></script>
    <!-- The ID here is the Google Programmable Search Engine ID. See https://developers.google.com/custom-search/docs/overview for more information. -->
    <script async src="https://cse.google.com/cse.js?cx=a49b06597fd4f470d"></script>
  </head>
  <body
    class="silver bg-raisin-black f5 lh-copy nested-list-reset"
  >
    {{ if ne .Filename "index.html"}}
      <header class="cf pa3">
        <a class="flex no-underline f2-ns f3 white fl" href="/index.html"
          >please<span class="violet">.build</span></a
        >
        <button
                id="menu-button"
                class="white bg-transparent b--none f3 pointer dn-l fr"
                aria-haspopup="true"
                aria-controls="menu-list"
        >
          ☰
        </button>
      </header>
    {{ end }}
    <a class="skip-to-content" href="#main-content">Skip to content</a>
    {{ if ne .Filename "index.html" }}
      <div class="flex-l">
        <nav id="menu-list" class="dn ph3 pb4 db-l w-20-l">
          <div class="dn mb4 tc sticky top-1 db-l" aria-hidden="true">
            <img id="nav-graphic" class="h4 rotate-270" alt="" src="/images/{{shape 2}}_v.png" />
          </div>

          <ul class="sticky top-1 ttu essential-pragmata-pro" role="menu">
            {{$isItemActive := matches .Filename "quickstart.html" "codelabs.html" "basics.html" "dependencies.html" "quickstart_dropoff.html"}}
            <li
                    class="mv2 {{boolOption $isItemActive "white before-dw-arrow" "violet before-rw-arrow hover-before-white"}}"
                    role="menuitem">
              <a
                      class="{{boolOption $isItemActive "white" "violet"}} no-underline"
                      href="/quickstart.html"
              >Getting Started</a
              >
              {{if $isItemActive}}
                <ul role="menu">
                  <li class="pl4" role="menuitem">
                    <a
                            class="{{isFilenameOption "quickstart.html" "white" "silver"}} no-underline"
                            href="/quickstart.html"
                    >Quick start</a
                    >
                  </li>
                  <li class="pl4" role="menuitem">
                    <a
                            class="{{isFilenameOption "codelabs.html" "white" "silver"}} no-underline"
                            href="/codelabs.html"
                    >Codelabs</a
                    >
                  </li>
                  <li class="pl4" role="menuitem">
                    <a
                            class="{{isFilenameOption "basics.html" "white" "silver"}} no-underline"
                            href="/basics.html"
                    >Basic concepts</a
                    >
                  </li>
                  <li class="pl4" role="menuitem">
                    <a
                            class="{{isFilenameOption "dependencies.html" "white" "silver"}} no-underline"
                            href="/dependencies.html"
                    >Third-party dependencies</a
                    >
                  </li>
                  <li class="pl4" role="menuitem">
                    <a
                            class="{{isFilenameOption "quickstart_dropoff.html" "white" "silver"}} no-underline"
                            href="/quickstart_dropoff.html"
                    >What's next?</a
                    >
                  </li>
                </ul>
              {{end}}
            </li>

            {{$isItemActive := matches .Filename "config.html" "commands.html" "remote_builds.html" "cross_compiling.html" "cache.html"}}
            <li
                    class="mv2 {{boolOption $isItemActive "white before-dw-arrow" "violet before-rw-arrow hover-before-white"}}"
                    role="menuitem">
              <a
                      class="{{boolOption $isItemActive "white" "violet"}} no-underline"
                      href="/config.html"
              >Documentation</a
              >
              <ul role="menu">
                <li class="pl4" role="menuitem">
                  <a
                          class="{{isFilenameOption "config.html" "white" "silver"}} no-underline"
                          href="/config.html"
                  >Config options</a
                  >
                </li>
                <li class="pl4" role="menuitem">
                  <a
                          class="{{isFilenameOption "commands.html" "white" "silver"}} no-underline"
                          href="/commands.html"
                  >Command line interface</a
                  >
                </li>
                <li class="pl4" role="menuitem">
                  <a
                          class="{{isFilenameOption "remote_builds.html" "white" "silver"}} no-underline"
                          href="/remote_builds.html"
                  >Remote builds</a
                  >
                </li>
                <li class="pl4" role="menuitem">
                  <a
                          class="{{isFilenameOption "cross_compiling.html" "white" "silver"}} no-underline"
                          href="/cross_compiling.html"
                  >Cross-compiling</a
                  >
                </li>
                <li class="pl4" role="menuitem">
                  <a
                          class="{{isFilenameOption "cache.html" "white" "silver"}} no-underline"
                          href="/cache.html">Caching</a
                  >
                </li>
              </ul>
            </li>

            {{$isItemActive := matches .Filename "language.html"}}
            <li
                    class="mv2 before-rw-arrow {{boolOption $isItemActive "white" "violet hover-before-white"}}"
                    role="menuitem">
              <a
                      class="{{boolOption $isItemActive "white" "violet"}} no-underline"
                      href="/language.html"
              >Build files</a
              >
            </li>

            {{$isItemActive := matches .Filename "lexicon.html"}}
            <li
                    class="mv2 {{boolOption $isItemActive "white before-dw-arrow" "violet before-rw-arrow hover-before-white"}}"
                    role="menuitem">
              <a
                      class="{{boolOption $isItemActive "white" "violet"}} no-underline"
                      href="/lexicon.html"
              >Built in rules &amp; languages</a
              >
              {{if $isItemActive}}
                <ul role="menu">
                  <li class="pl4" role="menuitem">
                    <a
                            class="silver no-underline"
                            href="/lexicon.html#python-builtins"
                    >Python builtins</a
                    >
                  </li>
                  <li class="pl4" role="menuitem">
                    <a
                            class="silver no-underline"
                            href="/lexicon.html#please-builtins"
                    >Please Builtins</a
                    >
                  </li>
                  <li class="pl4" role="menuitem">
                    <a
                            class="silver no-underline"
                            href="/lexicon.html#misc"
                    >Miscellaneous rules</a
                    >
                  </li>
                  <li class="pl4" role="menuitem">
                    <a
                            class="silver no-underline"
                            href="/lexicon.html#subrepo"
                    >Subrepo rules</a
                    >
                  </li>
                </ul>
              {{end}}
            </li>

            {{$isItemActive := matches .Filename "plugins.html"}}
            <li
                    class="mv2 {{boolOption $isItemActive "white before-dw-arrow" "violet before-rw-arrow hover-before-white"}}"
                    role="menuitem">
              <a
                      class="{{boolOption $isItemActive "white" "violet"}} no-underline"
                      href="/plugins.html"
              >Plugins</a
              >
              {{if $isItemActive}}
                <ul role="menu">
                  <li class="pl4" role="menuitem">
                    <a
                            class="silver no-underline"
                            href="/plugins.html#cc"
                    >C++</a
                    >
                  </li>
                  <li class="pl4" role="menuitem">
                    <a
                            class="silver no-underline"
                            href="/plugins.html#go"
                    >Go</a
                    >
                  </li>
                  <li class="pl4" role="menuitem">
                    <a
                            class="silver no-underline"
                            href="/plugins.html#go_proto"
                    >Go-proto</a
                    >
                  </li>
                  <li class="pl4" role="menuitem">
                    <a
                            class="silver no-underline"
                            href="/plugins.html#java"
                    >Java</a
                    >
                  </li>
                  <li class="pl4" role="menuitem">
                    <a
                            class="silver no-underline"
                            href="/plugins.html#proto"
                    >Proto</a
                    >
                  </li>
                  <li class="pl4" role="menuitem">
                    <a
                            class="silver no-underline"
                            href="/plugins.html#python"
                    >Python</a
                    >
                  </li>
                  <li class="pl4" role="menuitem">
                    <a
                            class="silver no-underline"
                            href="/plugins.html#shell"
                    >Shell</a
                    >
                  </li>
                </ul>
              {{end}}
            </li>

            {{$isItemActive := matches .Filename "build_rules.html" "tests.html" "post_build.html" "require_provide.html"}}
            <li
                    class="mv2 {{boolOption $isItemActive "white before-dw-arrow" "violet before-rw-arrow hover-before-white"}}"
                    role="menuitem">
              <a
                      class="{{boolOption $isItemActive "white" "violet"}} no-underline"
                      href="/build_rules.html"
              >Advanced Topics &amp; Custom Rules</a
              >
              {{if $isItemActive}}
                <ul role="menu">
                  <li class="pl4" role="menuitem">
                    <a
                            class="{{isFilenameOption "build_rules.html" "white" "silver"}} no-underline"
                            href="/build_rules.html"
                    >Writing build rules</a
                    >
                  </li>
                  <li class="pl4" role="menuitem">
                    <a
                            class="{{isFilenameOption "tests.html" "white" "silver"}} no-underline"
                            href="/tests.html"
                    >Testing with Please</a
                    >
                  </li>
                  <li class="pl4" role="menuitem">
                    <a
                            class="{{isFilenameOption "post_build.html" "white" "silver"}} no-underline"
                            href="/post_build.html"
                    >Post-build functions</a
                    >
                  </li>
                  <li class="pl4" role="menuitem">
                    <a
                            class="{{isFilenameOption "require_provide.html" "white" "silver"}} no-underline"
                            href="/require_provide.html"
                    >Require & Provide</a
                    >
                  </li>
                </ul>
              {{ end }}
            </li>

            {{$isItemActive := matches .Filename "pleasings.html"}}
            <li
                    class="mv2 before-rw-arrow {{boolOption $isItemActive "white" "violet hover-before-white"}}"
                    role="menuitem">
              <a
                      class="{{boolOption $isItemActive "white" "violet"}} no-underline"
                      href="/pleasings.html"
              >Extra rules</a
              >
            </li>

            {{$isItemActive := matches .Filename "faq.html"}}
            <li
                    class="mv2 before-rw-arrow {{boolOption $isItemActive "white" "violet hover-before-white"}}"
                    role="menuitem">
              <a
                      class="{{boolOption $isItemActive "white" "violet"}} no-underline"
                      href="/faq.html"
              >FAQ</a
              >
            </li>

            <li
                    class="mv2 before-rw-arrow violet hover-before-white"
                    role="menuitem">
              <a
                      class="violet no-underline"
                      href="https://github.com/thought-machine/please"
                      target="_blank"
                      rel="noopener"
              >Browse the source</a
              >
            </li>

            <li class="search">
              <div class="gcse-search" enableAutoComplete="true"></div>
            <li>

          </ul>
        </nav>
        <div class="ph3 pb4 w-80-l mw8-l">
          <div class="dn db-l" aria-hidden="true">
            <div class="h4 relative">
              <img
                class="absolute {{rotate 5}}"
                style="height: 10rem; top: -7rem; left: 20%; z-index: -1;"
                alt=""
                src="/images/{{shape 4}}_{{colour 7}}.png"
              />
              <img
                class="absolute {{rotate 6}}"
                style="height: 8rem; top: 0; right: 20%; z-index: -1;"
                alt=""
                src="/images/{{shape 5}}_{{colour 8}}.png"
              />
            </div>
            <div id="side-images" class="dn db-l" aria-hidden="true">
            <!-- prettier-ignore -->
            {{ range .SideImages }}
              <img
                class="absolute o-20 {{rotate .}}"
                style="height: {{random . 8 10}}rem; top: {{randomoffset . 0 50 100}}%; right: {{random . 2 4}}rem;"
                alt=""
                src="/images/{{shape .}}_{{colour .}}.png"
              />
            {{ end }}
            </div>
          </div>
          <div id="main-content" role="main">
            {{ .Contents }}
          </div>
        </div>
      </div>
    {{ else }}
      {{ .Contents }}
    {{ end }}
    <footer class="pt5 flex {{if eq .Filename "index.html" }} center mw9 {{end}}">
      <div class="dn db-l ph3-l pb4-l w-20-l" aria-hidden="true">
        <img alt="" src="/images/lockup2.png" />
      </div>
      <div class="ph3 flex-l w-80-l mw8-l">
        <div class="pb4 w-50-l">
          <a class="flex no-underline f2-ns f3 white" href="/index.html"
            >please<span class="turquoise">.build</span></a
          >
          <ul>
            <li>
              <a
                class="white no-underline"
                href="https://github.com/thought-machine/please"
                target="_blank"
                rel="noopener"
                >GitHub</a
              >
            </li>
            <li>
              <a
                class="white no-underline"
                href="https://gitter.im/please-build/Lobby"
                target="_blank"
                rel="noopener"
                >Chat on Gitter</a
              >
            </li>
            <li>
              <a
                class="white no-underline"
                href="https://groups.google.com/forum/#!forum/please-build"
                target="_blank"
                rel="noopener"
                >Discussion group</a
              >
            </li>
          </ul>
          <ul>
            <li>
              <a
                class="white no-underline"
                href="/acknowledgements.html"
                >Acknowledgements</a
              >
            </li>
            <li>
              Documentation licensed under
              <a
                class="white no-underline"
                href="https://creativecommons.org/licenses/by/4.0/"
                >CC-BY-4.0</a
              >
            </li>
          </ul>
        </div>
        <div class="pb4 w-50-l">
          <a class="fr" href="https://www.thoughtmachine.net"
            ><img
              alt="Thought Machine"
              src="/images/thoughtmachine.png"
          /></a>
          <ul class="fr tr">
            <li>© 2024 Thought Machine</li>
            <li>
              A Creation of
              <a
                class="white no-underline"
                href="https://www.thoughtmachine.net"
                target="_blank"
                rel="noopener"
                >Thought Machine</a
              >
            </li>
          </ul>
        </div>
      </div>
    </footer>
  </body>
</html>
